#pragma once

/*
 * 提供给需要被调度的服务器使用
 * 启动时调用，向调度服务器注册自身地址信息
 * 函数内部会启动一个线程，成功只代表线程创建成功
 * 输入参数:
 *     dspIp    :调度服务器的ip
 *     dspPort  :调度服务器的port
 *     service  :注册的服务名
 *     srvIp    :注册服务的ip
 *     srvPort  :注册服务的port
 * 成功返回0，失败返回-1
 * 说明:只能在小端字节序的机器上调用
 * */
int dspPubService(const char *dspIp, short dspPort, 
                  const char *service, const char *srvIp, short srvPort);

/*
 * 提供给客户端使用
 * 用于向调度服务器请求一个服务器地址
 * 输入参数:
 *     dspIp    :调度服务器的ip
 *     dspPort  :调度服务器的port
 *     service  :请求的服务名
 * 输出参数:
 *     srvIp    :请求服务的ip
 *     srvPort  :请求服务的port
 * 成功返回0，失败返回-1
 * 说明:可以在大小端字节序的机器上调用
 * */
int dspGetService(const char *dspIp, short dspPort, 
                  const char *service, char *srvIp, short *srvPort);


